package mainProcess;
import java.util.Date;
import java.util.List;

import com.lo23.data.objgroup.*;
import com.lo23.data.objinterface.*;
import com.lo23.data.objpicture.*;
import com.lo23.data.serializable.PictureCom;
import com.lo23.data.serializable.PictureThumbnail;
import com.lo23.data.utils.*;
import com.lo23.data.xml.*;

public interface IIHM {
	public LocalUser newUser(String login, String password);
	
	public LocalUser askConnection(String login, String password);
	
	public List<User> getOnlineUsers();
	
	//public void AskUserProfile(String friendId);
	
	public int getUserProfile(String friendId);
	
	public List<String> searchPicturesByTitle(String title);
	
	public List<String> searchPicturesByDate(Date date);
	
	public List<String> searchPicturesByKeywords(List<String> keywords);
	
	public List<String> searchAllPictures();
	
	public String addPicture(String path);
	
	public int deletePicture(String pID);
	
	public int askDisconnection();
	
	public int searchFriendPicturesByTitle(String friendId, String title);
	
	// pas prevu
	//public int searchFriendPicturesByDate(String friendId, Date date);
	
	public int searchFriendPicturesByKeywords(String friendId, List<String> keywords);
	
	public int searchAllFriendPictures(String friendId);
	
	
	public boolean addComment(PictureCom picture, String comment);
	
	public boolean deleteComment(PictureCom picture, String commentID);
	
	
	public int gradePicture(PictureCom picture, int grade);
	
	//public String addUser(String login, String password);
	
	public void addFriend(String login);
	
	public List<FriendshipAnswer> getPendingFriendRequest();
	
	public int acceptFriendRequest(String uid,String login);
	
	public int refuseFriendRequest(String uid);
	
	public LocalUser refreshProfile();

	public int setProfile(UserProfile profile);
	
	public List<Album> getAlbums();
	
	public List<PictureThumbnail> getAlbum(String albumID);
	
	public PictureCom getPicture(String pictureID);
	
	public int getAlbums(String friendID);
	
	public int getAlbum(String albumID, String friendID);
	
	public int getPicture(String pictureID, String friendID);
	
	

	//author: Hicham
	
	
	public int deleteFriend(String friendID);
	
	public int addGroup(String name);
	
	public int deleteGroupe(String groupId);
	
	public int deleteFriendFromGroup(String frindID, String groupID);

	public int addFriendToGroup(String frindID, String groupID);
	
	public int AddAlbum(String name);
	
	public int deleteAlbum(String albumId);
	
	public int deletepictureFromAlbum(String pictureID, String albumID);
	
	public int addPictureToAlbum(String pictureID, String albumID);
	
	
}
